home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Technotools
/
Technotools (Chestnut CD-ROM)(1993).ISO
/
lang_oth
/
tm480
/
tmmanual.exe
/
TMMAN.TSK
< prev
Wrap
Text File
|
1991-09-10
|
7KB
|
248 lines
; Title : TMMAN.TSK Last Updated : September 5, 1991
; Author : Steve Johnson - FmP. Version : 1.30
; Purpose : On-line Taskmaster manual
; Notes : Uses short form names constructed from Bounce-Bar HILITE value
; : Data is located after code.
; : If not colour video behave as if adaptor has only 1 screen page
; : If by chance double <returns> required; increase DELAY from 2.
GOTO 1DATA
1START
put "1" noclear
move 2 to delay
until forever
screen 0
switch 0
move 0c000h to bbmask
move mhi to choice
put "X"
move hilite to mhi
if choice = 30
stop
fi
if choice = 31 ;F1 help requested
put "1" noclear
put "2" noclear
move 30 to choice
move true to bbdisp
fi
move entry hilite of mletter to m_id
combine "M" m_id into smenu_name
clear shilite
until choice = 30
move 0e000h to bbmask
screen 1
move shilite to choice
put smenu_name nodata
switch 1
clear bbdisp
move 0e000h to bbmask
put smenu_name
move hilite to shilite
if choice < 30
move entry hilite of mletter to sid
combine m_id sid into ssmenu_name
screen 2
if ssmenu_name ne last_form or not colour
put ssmenu_name nowait
move ssmenu_name to last_form
fi
switch 2
userline attn "Press any key..."
inkey char
if colour
clear bbdisp
fi
else
if choice = 31
move hilite to count
forms logon.ovr
move 8000h to bbmask
put menus_help
forms formsname
move count to choice
clear bbdisp
else
if choice = 32
clear rtn dont_ask mgeline
until rtn
if not dont_ask
fieldfill cmd
put '3'
get cmd
trim cmd
if anyfk
move true to rtn
fi
else
move 8000h to bbmask
screen 3
switch 3
put cr
move display to cmd
if choice = 30
clear possibles dont_ask
sizevar cmd 0
move true to rtn
fi
fi
if cmd ne null and not rtn
append 9 to cmd
find cmd_x sw cmd
if found ;exact match
cursor 10 0
move entry row of cmd_x to x_entry
move zero to delim
setscan x_entry
clear cmd fn
scan cmd fn
screen 2
if fn ne last_form or not colour
put fn nowait
move fn to last_form
fi
switch 2
userline attn "Press any key..."
inkey char
if colour
clear bbdisp
fi
move true to rtn
else
move cmd to char
find cmd_x sw char
if found
move row to count
clear j
until not entry count of cmd_x sw char OR COUNT = 119
if entry count of cmd_x sw char
move entry count of cmd_x to cmd
combine cmd 1 into entry j of possibles
increment j
fi
fi count
clear count
until count = j
insert entry count of possibles
fi count
move true to dont_ask
else
back 4
fore 15
cursor 21 10 mge2 char " Press any key..."
back 1
inkey char
cursor 21 10 61
fi
fi
fi
fi
clear choice
fi
fi
fi
if colour
clear bbdisp
fi
fi
clear choice
fi
stop
1DATA
; screen and switch used. This assumes
; that the required display pages are available. If this is not a colour
; screen assume it has only one page and invoke with the /m flag
; Formnames are short as index space in forms file is limited to 1024 bytes.
; 'Direct access' option accounts for half the code and most of the data.
int count
int j
int mhi
int shilite
logical dont_ask
logical forever
logical rtn ;return_to_normal
vconst attn,79
vconst cel,55
vconst cls,11
var char,1
var cmd,9
var cmdm,53,'Command or system variable name? (or initial letter)'
var cmd_x,11,occurs 119,
'ADD 11ANYFK E1APPEND 21ASK 31ASKLN 32ASKMASK E2'
'BACK 41BBDISP E3BBMASK E4BEHAVE 51CATALOG 61CHOICE E6'
'CLEAR 81COMBINE 22COMPAT A1CURSOR 42DATA A2DATE E7'
'DDRIVE E9DECODE 23DECREMENT12DEFINE 71DELAY E8DELIM EA'
'DISABLE A3DIR C1DISPLAY 43DISPLAYLN44DISPLAY EBDIVIDE 13'
'DRAW 45ECHO ECELEVEL EDELSE 91ENABLE A4ENCODE 24'
'END 72ENDM B1ENDTASK 92ERASE C2EXITM B2FALSE F1'
'FCOL F2FI 93FIELDFILLB3FIND 25FORMS B4FORE 46'
'FOUND F3FREE F4FUNKEY F5GET B5GETVOL C3GO 94'
'HEXVAR 73HIDE F6HILITE F7IF 95INCREMENT14INKEY 33'
'INSERT B6INT 74KEYVAL F9KEY F8LARGE 52LDATE FA'
'LOCATE 47LOGICAL 75LOGIN 62LOGOUT 63LOOKFOR C4MENU B7'
'MOVE 26MULTIPLY 15NOTRACE D1OPTION B8PASSWORD 64POPDOWN 48'
'POPFREE 49POPGET 4APOPUP 4BPOPSCREEN4EPRINTER A5PUT B9'
'REPLACE 27RESTORE C5RESP FBRETURN BAREVERSE 29ROW FD'
'RUN 53SAVE C6SCAN 2BSCANVID 4CSCREEN 4DSELECT A6'
'SETSCAN 2CSIZEVAR 82STEP D2STOP 96STRATEGY A7SUBTRACT 16'
'SWITCH 4ESYSFREE FFSYSMAX FETIMER FHTIME FGTRACE D3'
'TRIM 2BTRUE FIUNTIL 99UPPER 2CUSERLINE 4FUSER C8'
'VAR 76VCONST 77VERIFY C7WAIT 97WHILE 98'
var fn,2
var formsname,50
var fmpdir,40,$FMPDIR ;Environment var dictates location of OVR file
var last_form,2
var m_id,1
var mge,43,"No such entry - looking for those starting "
var mge2,43,"No commands or system variables start with "
var mgeline,65,occurs 3
var mletter,1,occurs20,"0123456789ABCDEFGHIJ"
var null,1
var possibles,10,occurs 20
var sid,1
var smenu_name,10
var ssmenu_name,10
var tname,8," TMMAN"
var x_entry,11
end
if fmpdir = null
move "C:\FMP" to fmpdir
fi
combine fmpdir '\tmman.ovr' into formsname
replace '\\' of formsname with '\'
lookfor formsname
if not found
combine fmpdir '\logon.ovr' into formsname
replace '\\' of formsname with '\'
forms formsname ;in case /q and not registered
insert tname tname
put "NO_FORMS"
stop
fi
forms formsname
display cls
if colour
screen 1
display cls
screen 2
display cls
screen 3
display cls
screen 0
fi
GOBACK 1START
endtask
Forms source kept in separate file called TMMAN.MAC.
Run TMMANUAL to recreate it if deleted.